mod cli;

use clap::Parser;
use cli::{Cli, CliApp};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let cli = Cli::parse();
    let app = CliApp::new();

    if let Err(e) = app.run(cli).await {
        eprintln!("❌ Error: {}", e);
        std::process::exit(1);
    }

    Ok(())
}
